Skip to content

Conversation

@VeckoTheGecko
Copy link
Collaborator

@VeckoTheGecko VeckoTheGecko commented Sep 26, 2024

This PR implements the following:

  • Migrate to pre-commit to manage code quality (install pre-commit.ci on the repo so that code quality tooling it automatically run and fixes are pushed)
  • Replace Black and other tools with Ruff (no regression here - same things are being checked, its just consolidated into a single faster tool that is widely used)
    • Enable pyupgrade and some other rules
  • Add contributing document
  • Update dev environment to use conda
  • Update CI
    • now with testing matrix for different versions of Python
    • with Codecov support
  • Add publish to PyPI automated workflows (not yet tested)
  • Add documentation
    • Uses Sphinx with the Furo theme
    • With readthedocs support
    • With nbsphinx support (for converting tutorial notebooks to pages in the website).
    • With api doc generation
  • Add dependabot to keep github actions versions updated
  • Add version information to package (so virtualship.__version__ exists as a variable)
  • Drop support for Python 3.8/3.9 in metadata
  • Install click and create boilerplate for CLI tool
    • CLI is now used by doing virtualship run virtualship fetch and virtualship init (rather than just doing do_expedition). Cleans up the namespace
  • Migrate to a src layout
    • This was needed as the cli tool and the package have the same name, and in bash virtualship defaulted to cd'ing into that folder
  • Update README

Contributes to #64

VeckoTheGecko and others added 9 commits September 25, 2024 18:35
The state of docstring linting in Python is a mess. Pydocstyle and Darglint are both deprecated, and Ruff is currently in preview and doesn't provide 100% parity (and Pydoclint configuration is a bit of a mess, having to use the flake config). ANYWAY, let's just use Ruff without preview mode
…ing)...

Add nox workflow running, documentation generation with ReadTheDocs, coverage support, updated CI with publish workflow and improved testing, contributing guidelines, dependabot, updated pyproject.toml config (pytest/coverage options, updated metadata)

Done with reference to Scientific Python copier template.
Python 3.8/3.9 were already not supported since we used 3.10 features
@VeckoTheGecko
Copy link
Collaborator Author

VeckoTheGecko commented Sep 26, 2024

A bit of a hiccup in that a dependency that we use for a test (seabird) uses a deprecated standard lib package. I'll look at contributing upstream so that they can add support for Python 3.12 and 3.13

EDIT: Done castelao/seabird#78

@VeckoTheGecko
Copy link
Collaborator Author

readthedocs will only be configured once we merge into main (since it will look at the default branch for the conf)

@codecov-commenter
Copy link

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

@VeckoTheGecko
Copy link
Collaborator Author

I think that's pretty much it for this PR. I think we can sit down separately @ammedd to come up with a new readme and to populate the documentation website.

Publishing to PyPI and conda can come after we discuss a bit on how students can use this in the classroom :)

@VeckoTheGecko VeckoTheGecko requested review from ammedd and erikvansebille and removed request for ammedd September 26, 2024 17:04
@VeckoTheGecko
Copy link
Collaborator Author

Pypi is done! https://pypi.org/project/virtualship/
Conda is a WIP conda-forge/staged-recipes#27759

This PR is good to go ⛴️. Waiting on green ✅

release got pushed back by a week :P
@VeckoTheGecko VeckoTheGecko enabled auto-merge (squash) October 3, 2024 10:56
@VeckoTheGecko
Copy link
Collaborator Author

Ahhh, I need an approving review to merge. I guess that's a good thing :')

@VeckoTheGecko VeckoTheGecko disabled auto-merge October 3, 2024 13:02
@VeckoTheGecko
Copy link
Collaborator Author

VeckoTheGecko commented Oct 3, 2024

Getting a really strange error when testing on linux... Not sure how to debug this, and all my Google searches come up empty. Only idea I have is to try micromamba in CI

image

Project team contact details already in readme
VeckoTheGecko and others added 3 commits October 7, 2024 15:42
Co-authored-by: Erik van Sebille <erikvansebille@gmail.com>
Co-authored-by: Erik van Sebille <erikvansebille@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants